\documentclass[14pt, a4paper]{extreport}

\usepackage{graphicx}
\DeclareGraphicsExtensions{.jpg}

\usepackage{hyperref}

\usepackage{mathtext}
\usepackage[utf8]{inputenc}

\usepackage{amsfonts}
\usepackage{amsmath}

\usepackage{unicode-math}
\setmathfont{XITSMath-Regular.otf}

\usepackage[english,russian]{babel}

\usepackage{fontspec} 
\defaultfontfeatures{Ligatures={TeX},Renderer=Basic}
\setmainfont[Ligatures={TeX,Historic}]{Times New Roman}

\setlength{\parindent}{1.25cm}
\usepackage{indentfirst} %отступ первой строки первого абзаца
%\linespread{1.25}

\usepackage{geometry}
\geometry{left=3cm}
\geometry{right=1.5cm}
\geometry{top=2cm}
\geometry{bottom=2cm}

\hypersetup{
    colorlinks,
    citecolor=black,
    filecolor=black,
    linkcolor=black,
    urlcolor=black
}

\usepackage{titlesec} % оформление заголовков

\titleformat{\chapter}[block]
	{\centering\bfseries}
        {\thechapter}
        {}
	{\MakeUppercase}
\titleformat{\section}[block]
	{\centering\bfseries}
        {\thesection}
        {1em}{}
\titleformat{\subsection}[block]
	{\bfseries}
        {\thesubsection}
        {1em}{}

% Оформление содержания
\usepackage{titletoc}
\dottedcontents{section}[0cm]{}{1em}{0.25pc}
\dottedcontents{subsection}[1.25cm]{}{2em}{0.25pc}
\dottedcontents{chapter}[0cm]{}{1em}{0.25pc}

\usepackage{caption}
\DeclareCaptionLabelSeparator{defffis}{ --- }
\captionsetup{justification=centering,labelsep=defffis}
\captionsetup[figure]{justification=centering,labelsep=defffis, labelformat=empty}

\usepackage{array}
\newcommand\ChangeRT[1]{\noalign{\hrule height #1}}

\renewcommand{\thechapter}{\hspace*{-1em}}
\renewcommand{\thesection}{\arabic{section}}

\usepackage{setspace}

\begin{document}
\def\contentsname{СОДЕРЖАНИЕ}

\begin{titlepage}
\newpage
\begin{figure}[h!]
    \centering
    \includegraphics[scale=0.3]{MIREA_GERB}
\end{figure}
\vspace{-0.7cm}
\begin{center}
\small МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ \\
Федеральное государственное бюджетное образовательное учреждение \\
высшего образования \\
\textbf{''МИРЭА - Российский технологический университет''} \\
    \vspace{0.25cm}
\large     \textbf{РТУ МИРЭА} \\
\end{center}
    \vspace{0.25cm}
\hrule
    \vspace{0.05cm}
\hrule
\begin{center}
\small Институт кибернетики \\
    Кафедра общей информатики \\
\end{center}
    \vspace{2em}
\begin{center}
\large \textbf{ОТЧЕТ} \\
\large \textbf{ПО ПРАКТИЧЕСКОЙ РАБОТЕ №8} \\
\large <<Реализация заданной логической функции от четырех переменных на мультиплексорах 16-1, 8-1, 4-1, 2-1>> \\
\large \textbf{по дисциплине} \\
\large <<ИНФОРМАТИКА>> \\
\end{center}
    \vspace{5em}
\begin{flushleft}
\small Выполнил студент группы ИВБО-02-21 \hfill Иванов И.М. \\
\vspace{2em}
\small Принял старший преподаватель \hfill Смирнов С.С. \\
    \vspace{3em}
\end{flushleft}
\begin{flushleft}
\hspace{0.05\textwidth}\footnotesize Практическая \hspace{0.25\textwidth} <<\underline{\hspace{0.025\textwidth}}>>\underline{\hspace{0.09\textwidth}}2021 г. \hspace{0.15\textwidth} \underline{\hspace{0.15\textwidth}} \\
    \vspace{0.75em}
\hspace{0.05\textwidth}работа выполнена \\
    \vspace{1em}
\hspace{0.15\textwidth}\footnotesize <<Зачтено>> \hspace{0.185\textwidth} <<\underline{\hspace{0.025\textwidth}}>>\underline{\hspace{0.09\textwidth}}2021 г. \hspace{0.15\textwidth} \underline{\hspace{0.15\textwidth}}
	\vspace{5em}
\end{flushleft}
\begin{center}
	\small Москва 2021
\end{center}
\end{titlepage}
\begin{spacing}{1.5}
\setcounter{page}{2}
\tableofcontents
\newpage
    \section{ПОСТАНОВКА ЗАДАЧИ}
Логическая функция от четырех переменных задана в 16-теричной векторной форме. Восстановить таблицу истинности. По таблице истинности реализовать в лабораторном комплексе логическую функцию на мультиплексорах следующими способами: используя один мультплексор 16-1, используя один мультиплексор 8-1, используя минимальное количество мультиплексоров 4-1, используя минимальную комбинацию мультиплексоров 4-1 и 2-1.
   \begin{center}
    \vspace{-3em}
    \begin{equation}\label{F1}
        {F}1:536{F}_{16} = 0101001101101111_2
    \end{equation}
\end{center}
\newpage 
\section{ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ}
Дана логическая функция (\ref{F1}) от четырех переменных в 16-теричной векторной форме.
\subsection{Восстановленная таблица истинности}
Восстановим таблицу истинности для для нашей функции F1 (таблица 1).
\begin{flushleft}
Таблица 1 --- Таблица истинности для функции F1
\end{flushleft}
\begin{center}
    \begin{tabular}{
    !{\vrule width 1.75pt} c | c | c | c !{\vrule width 1.75pt} c !{\vrule width 1.75pt}}
    	\ChangeRT{1.75pt}
        a & b & c & d & F \\
    	\ChangeRT{1.75pt}
        0 & 0 & 0 & 0 & 0 \\
        \hline
        0 & 0 & 0 & 1 & 1 \\
        \hline
        0 & 0 & 1 & 0 & 0 \\
        \hline
        0 & 0 & 1 & 1 & 1 \\
        \hline
        0 & 1 & 0 & 0 & 0 \\
        \hline
        0 & 1 & 0 & 1 & 0 \\
        \hline
        0 & 1 & 1 & 0 & 1 \\
        \hline
        0 & 1 & 1 & 1 & 1 \\
        \hline
        1 & 0 & 0 & 0 & 0 \\
        \hline
        1 & 0 & 0 & 1 & 1 \\
        \hline
        1 & 0 & 1 & 0 & 1 \\
        \hline
        1 & 0 & 1 & 1 & 0 \\
        \hline
        1 & 1 & 0 & 0 & 1 \\
        \hline
        1 & 1 & 0 & 1 & 1 \\
        \hline
        1 & 1 & 1 & 0 & 1 \\
        \hline
        1 & 1 & 1 & 1 & 1 \\
    	\ChangeRT{1.75pt}
    \end{tabular}
\end{center}
\subsection{Схемы реализующие логическую функцию на мультиплексорах требуемыми  способами}
Реализуем функцию, используя мультиплексор 16-1. Количество информационных входов мультиплексора соответствует количеству значений логической функции. Поэтому просто подадим значения функции на соответствующие входы. На адресные (выбирающие) входы мультиплексора подадим при помощи шины значения логических переменных. Несмотря на использование шины, следует помнить, что младшая переменная подается на младший адресный вход, а старшая–на старший. Собранная и протестированная схема показана на рис. \ref{fig:pic1}. Тестирование подтвердило правильность работы схемы.
\begin{figure}[htp]
    \centering
    \includegraphics[scale=0.17]{lab8-pic1}
    \caption{Рисунок 1 --- Тестирование схемы, реализующей логическую функцию на мультиплексоре 16-1}
    \label{fig:pic1}
\end{figure}

Далее выполним реализацию заданной логической функции при помощи мультиплексора 8-1. Мультиплексор 8-1 имеет 3 адресных входа, что не позволяет подать на эти входы все 4 логические переменные, как это было сделано в предыдущем случае. Однако мы можем в качестве адресных переменных выбрать любые три из имеющихся, а оставшуюся четвертую рассматривать наравне с логическими константами как элемент исходных данных для информационных входов.

Удобнее всего в качестве адресных переменных взять три старшие переменные нашей функции, т.е. a, b, c. Тогда пары наборов, на которых эти переменные  будут  иметь  одинаковое  значение,  будут  располагаться  в  соседних строчках таблицы истинности и поэтому можно будет легко увидеть, как значение логической функции для каждой пары наборов соотносится со значением переменной d.

Например на рис. \ref{fig:tab2} видно, что для некоторых строчек ${F} = \overline{{d}}$ и ${F} = {d}$. Всего же для разных пар наборов может быть четыре случая: ${F} = 0$, ${F} = 1$, ${F} = {d}$, ${F} = \overline{{d}}$. Таким образом, мы перенесли одну переменную в область значения функции и получили таблицу, похожую на таблицу истинности функции от трех переменных. Таблица 2 отображает <<сжатую>> таблицу истинности. 
\begin{figure}[htp]
    \centering
    \includegraphics[scale=1.5]{lab-tab2}
    \caption{Рисунок 2 --- Взаимосвязь значений функции и значений переменной <<d>>} 
    \label{fig:tab2}
\end{figure}

\newpage
\begin{flushleft}
    Таблица 2 --- <<сжатая>> таблица истинности.
\end{flushleft}
\begin{center}
    \begin{tabular}{
    !{\vrule width 1.75pt} c | c | c !{\vrule width 1.75pt} c !{\vrule width 1.75pt}}
    	\ChangeRT{1.75pt}
        a & b & c & F \\
    	\ChangeRT{1.75pt}
        0 & 0 & 0 & ${d}$ \\
        \hline
        0 & 0 & 1 & ${d}$ \\
        \hline
        0 & 1 & 0 & 0 \\
        \hline
        0 & 1 & 1 & 1 \\
        \hline
        1 & 0 & 0 & ${d}$ \\
        \hline
        1 & 0 & 1 & $\overline{{d}}$ \\
        \hline
        1 & 1 & 0 & 1 \\
        \hline
        1 & 1 & 1 & 1 \\
    	\ChangeRT{1.75pt}
    \end{tabular}
\end{center}

Теперь, рассматривая переменную d наравне с константами 0 и 1 в качестве сигналов для информационных входов мультиплексора 8-1, можно по аналогии с предыдущим случаем выполнить реализацию требуемой функции.

Разместим на рабочей области новый мультиплексор, установим ему количество выбирающих (адресных) входов равным трем, и выполним необходимые соединения (рис. \ref{fig:pic2}).
\begin{figure}[htp]
    \centering
    \includegraphics[scale=0.17]{lab8-pic2}
    \caption{Рисунок 3 --- Тестирование схемы, реализующей логическую функцию на мультиплексоре 8-1} 
    \label{fig:pic2}
\end{figure}

Рассмотрим реализацию заданной функции на минимальном количестве мультиплексоров 4-1.

Мультиплексор  4-1  имеет  2  адресных входа  и 4 информационных.  Это означает, что мы должны разбить исходную таблицу истинности на 4 фрагмента, за реализацию каждого из которых в принципе должен отвечать отдельный мультиплексор (назовем его операционным). Однако, необходимо учесть требования минимальности по отношению к количеству используемых мультиплексоров и ставить их только там, где без них нельзя обойтись. Также нам нельзя в рамках данной работы использовать другие логические схемы, за исключением отрицания.

По аналогии с реализацией на дешифраторах 2-4, нам обязательно потребуется управляющий мультиплексор, который будет выбирать один из вариантов, предлагаемых операционными мультиплексорами.

Разобьем исходную таблицу истинности на зоны ответственности между операционными мультиплексорами, а заодно посмотрим, нельзя ли в некоторых случаях обойтись вообще без операционного мультиплексора (рис. \ref{fig:tab4}).
\begin{figure}[htp]
    \centering
    \includegraphics[scale=1.5]{lab8-tab4}
    \caption{Рисунок 4 --- Разбиение исходной таблицы истинности на зоны ответственности для потенциальных операционных мультиплексоров} 
    \label{fig:tab4}
\end{figure}

Как видно из рис. \ref{fig:tab4}, в трех случаях из четырех без операционного мультиплексора можно вполне обойтись, однако предпоследний фрагмент таблицы требует реализации операционного мультиплексора. С учетом только что сказанного, схема логической функции на минимальном количестве мультиплексоров 4-1 будет такой, как показано на рис. \ref{fig:pic3}.
\begin{figure}[htp]
    \centering
    \includegraphics[scale=0.17]{lab8-pic3}
    \caption{Рисунок 5 ---Тестирование схемы, реализующей логическую функцию на минимальном количестве мультиплексоров 4-1} 
    \label{fig:pic3}
\end{figure}

Тестирование подтвердило правильность работы схемы.

Реализуем  логическую  функцию,  используя  минимальную  комбинацию мультиплексоров 4-1 и 2-1. В качестве отправной точки рассмотрим результаты, полученные в предыдущей реализации. Управляющий мультиплексор нельзя заменить на мультиплексор 2-1, поскольку у него на входах уникальные сигналы, а вот единственный операционный заменить можно, поскольку он имеет дело с константами. Из рис. \ref{fig:tab4} выпишем отдельно фрагмент таблицы истинности, за который данный мультиплексор отвечает (таблица 4).
\begin{flushleft}
    Таблица 4 --- фрагмент таблицы истинности
\end{flushleft}
\begin{center}
    \begin{tabular}{
    !{\vrule width 1.75pt} c | c !{\vrule width 1.75pt} c !{\vrule width 1.75pt}}
    	\ChangeRT{1.75pt}
        c & d & F \\
    	\ChangeRT{1.75pt}
        0 & 0 & 0 \\
        \hline
        0 & 1 & 1 \\
        \hline
        1 & 0 & 1 \\
        \hline
        1 & 1 & 0 \\
    	\ChangeRT{1.75pt}
    \end{tabular}
\end{center}

Из таблицы видно, что когда <<с>> равно 0, то функция равна не <<d>>, а когда <<с>> равно 1, то функция равна 0. Значит, переменную <<с>> можно рассматривать как  адресную  для  мультиплексора  2-1,  а  не  <<d>>  и  0  будут  поданы  на  его информационные входы. В результате получим схему, изображенную на рис. \ref{fig:pic4}.
\begin{figure}[htp]
    \centering
    \includegraphics[scale=0.17]{lab8-pic4}
    \caption{Рисунок 6 --- Тестирование схемы, реализующей логическую функцию на основе минимальной комбинации мультиплексоров 4-1 и 2-1} 
    \label{fig:pic4}
\end{figure}

Тестирование подтвердило правильность работы схемы.

\newpage
\section{ВЫВОДЫ}
В ходе данной практической работы данная логическая функция была реализована на мультиплексорах тремя способами: используя один мультиплексор 16-1 и 8-1 соответственно, используя минимальное количество мультиплексоров 4-1, используя минимальную комбинацию мультиплексоров 4-1 и 2-1. Была проверена работоспособность схем.

\newpage
\section{СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ}
1. Смирнов С.С., Карпов Д.А. Информатика: Методические указания по
выполнению практических работ. / С.С. Смирнов, Д.А. Карпов—М., МИРЭА —
Российский технологический университет, 2020.–102с.

2. Воронов Г.Б. Лекции по информатике. / Г.Б. Воронов. –М.: МИРЭА —
Российский технологический университет, 2021.: URL: https://online-edu.mirea.ru/mod/webinars/view.php?id=262229 (дата обращения 21.10.2021)
\end{spacing}
\end{document}
